----------------------------------------------------------------------------------------------------
Version 3.5.1 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Accounts payable > Inquiries and reports > Vendor reports > Account statement (VendAccountStatementInt.Report)
  >> Inventory management > Quality management > Certificate of analysis > Print (QMSInventTestCustSpecificCOA.Report)
  >> Accounts payable > Inquiries and reports > Vendor open transactions report (VendTransOpenPerDate.Report)
  >> Accounts receivable > All sales orders > Invoice > Prepayment > Prepayment invoice > Docentric > Print > Customer prepayment report (DocCustPrepaymentInvoice.Report)
	 > Starting with D365FO version 10.0.41, Microsoft delivers the Customer prepayment invoice as an Electronic Reporting (ER) format instead of SSRS. To support Docentric print destinations and templates, we added an SSRS replica (dummy SSRS report + DSP implementation), enabling the full Docentric pipeline for Customer prepayment invoices.
     Learn more: https://ax.docentric.com/use-d365fo-customer-prepayment-invoice-with-docentric/

- Giro report data: 
  >> Introduced a new method populateGiroReportTmpTableV2() to improve Giro report data population in DSP classes. This method is now used in both the Project invoice (DocPsaProjInvoiceDSP) and Sales invoice (DocSalesInvoiceReportDSP) classes, providing improved reliability and data consistency for Giro data generation.

- Sales invoice (SalesInvoice.Report):
  >> Added new fields to the Sales lines data section (SalesInvoiceLines) to support the Unified Pricing Management module, which can be enabled through Feature Management. By default, this code is commented out and can be enabled as needed.

- (BUG) Customer account statement (CustAccountStatementExt.Report):
  >> Resolved aging lines (Balance) display issue for both single-company and multi-company customers:
     > For single-company customers, in some very specific cases, aging lines were missing because the data was not included in the data source.
     > For multi-company customers, aging lines were duplicated and displayed for each company.
     The Docentric report template was also updated to follow changes in the data source structure.

- Added methods to the helper class DocTaxCalculator to improve performance for Sales and Project proforma invoices. New methods:
  >> DocTaxCalculator::getProformaTaxSalesInvoiceLineAmountV2()
  >> DocTaxCalculator::getProformaTaxSalesInvoiceLineV2()
  >> DocTaxCalculator::getProformaTaxProjectInvoiceLineAmountV2()
  >> DocTaxCalculator::getProformaTaxSalesLineV2().

----------------------------------------------------------------------------------------------------
Version 3.5.0 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Inventory management > Quality management > Non conformances > Print > Non conformance tag (InventNonConformanceTag.Report)
  >> Inventory management > Inquiries and reports > On-hand reports > On-hand inventory (InventOnhand.Report)

- (BUG) Customer account statement (CustAccountStatementExt.Report):
  >> Fixed a bug in the Customer account statement report printed with a Docentric template. Transactions were not correctly separated by legal entity if a customer had the same account number in multiple legal entities.

- (BUG) Customer account statement (CustCollectionJour.Report), Interest note (CustInterestNote.Report) and Request for quotation (RFQSend.Report):
  >> Fixed an issue where the execution context record was not set in the overrideReportRunSettings() method of the DocCustAccountStatementExtReportDSP, DocCustInterestNoteReportDSP and DocRFQSendReportDSP classes. 
     As a result, when multiple journal records were selected for printing, the first record was always treated as the context record. 
     This caused incorrect behavior when working with attachments:
     > For Email print destination: additional attachments defined by 'Additional attachment rules' with 'Load from = Context record' were always retrieved from the first journal record.  
     > For File print destination: report output files with 'Record type = Context record' were always saved to Attachments of the first journal record.	 

- (BUG) Production picking list (ProdPickList.Report):
  >> Fixed an issue where the Docentric replica of the ProdPickList report ignored the sorting defined in the “Records to include” query.  
     The SSRS design applied the specified sort order, but the Docentric template always displayed data in the same sequence.  
     Resolved by removing a sorting rule from a list element in the Docentric report template, aligning the output with SSRS behavior. 

- (BUG) Production order report (ProdReport.Report):
  >> Fixed an issue where the Docentric SSRS replica did not display secondary lines correctly.  
     The problem was caused by the ProdRouteSchedulingView data source, which has no unique RecIds. As a result, record changes could not be detected, preventing additional records from being created for secondary lines.  
     The issue was resolved by extending the ProdReport query and adding the WrkCtrId field under the WrkCtrTable data source.

----------------------------------------------------------------------------------------------------
Version 3.4.9 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Asset management > Reports > Work orders > Work order report (EntAssetWorkOrderFullReport.Report)
  >> Cash and bank management > Inquiries and reports > Deposit slips > Deposit slip report (BankDepositSlip.Report)
  >> Accounts payable > Payments > Vendor payment journal (VendPaymentJournal.Report)

- (BUG) Collection letter note (CustCollectionJour.Report):
  >> The execution context record was not set in the overrideReportRunSettings() method of the DocCustCollectionJourReportDSP class.
     As a result, the first journal record of multiple records selected for report printing was always treated as the context record.
     This caused incorrect behavior when selecting Attachments via 'Additional attachment rules' on Docentric Email print destination with 'Load from' set to 'Context record', and when saving to Attachments using Docentric File print destination with 'Record type' set to 'Context record'.
     In the first case, additional email attachments for each report were always retrieved from the first journal record, and in the second case, all report output files were saved to Attachments of the first journal record.
	 
- (BUG) (3.4.9.1) Customer account statement (CustAccountStatementExt.Report):
  >> Fixed an issue in the DSP class (DocCustAccountStatementExtReportDSP) where transactions were not correctly separated by legal entity when printing the Customer Account Statement using a Docentric template. This occurred when a customer had the same account number across multiple legal entities.

- (BUG) (3.4.9.1) Customer account statement (CustAccountStatementExt.Report), Interest note (CustInterestNote.Report) and Request for quotation (RFQSend.Report):
  >> Fixed an issue where the execution context record was not set in the overrideReportRunSettings() method of the DocCustAccountStatementExtReportDSP, DocCustInterestNoteReportDSP, and DocRFQSendReportDSP classes.
  >> As a result, when multiple records were selected for report printing, the first journal record was always treated as the context record. This caused incorrect behavior in the following scenarios:
     > Docentric Email print destination: When using Additional attachment rules with 'Load from' set to 'Context record', additional email attachments were always retrieved from the first journal record instead of the correct record for each report.	 
     > Docentric File print destination: When saving to Attachments with 'Record type' set to 'Context record', all report output files were incorrectly saved to the Attachments of the first journal record instead of the respective records.
  >> Context record is now set to:
     > Customer account statement -> CustTable
	 > Interest note -> CustInterestJour
	 > Request for quotation -> VendRFQJour


----------------------------------------------------------------------------------------------------
Version 3.4.8 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> General ledger > Inquiries and reports > Ledger reports > Transaction list by date (LedgerTransListDate.Report)
  >> Accounts Receivable > Customer invoice journal report (CustInvoiceJour.Report)
  >> Ledger journal report (LedgerJournal.Report)
     Navigation paths: General ledger > Inquiries and reports > Ledger reports > Print journal, Accounts payable > Invoices > Invoice journal > Print > Journal

- Drill-trough links are now cached to improve execution performance for the following reports:
  >> Ledger journal report (LedgerJournal.Report)
  >> Ledger transaction list report (LedgerTransListAccount.Report)
  >> Transaction list by date report (LedgerTransListDate.Report)

- Ledger transaction list report (LedgerTransListAccount.Report):
  >> Added the drill-through links for the Voucher and 'Sales tax code' fields.
  
- Open transactions report (CustTransOpenPerDate.Report):
  >> Removed the existing drill-through link for the 'Customer account' field and added a drill-through link for the Voucher field.

- Collection letter note (CustCollectionJour.Report):
  >> The UseBillingClassification parameter is added to the report DDSP > Parameters as a boolean field that is based on the 'Use billing classifications' in the 'Accounts receivable parameters' form (CustParameters.CustUseBillingClassification_PSN).
     The parameter is added to support the conditional visibility of the Billing classification related data (e.g. the BillingClassification field) in the report template(s).

- Sales/Purchase agreement confirmation (AgreementConfirmation.Report):
  >> Added a custom DSP class DocAgreementConfirmationReportDSP with the following Custom placeholders: AgreementId, ConfirmNumber, ConfirmDate, AccountId, AccountName.
  >> The class populates archive contract with the report metadata (Document ID, Account-, Journal- and Source Table- info) which affects features such as Improved Print archive, Additional email attachments ('Load from'), and Saving to Attachments.
  >> The class inherits from the DocDataSourceProviderSrsProforma class, supporting this way the 3.4.8 version feature 'Saving proforma reports in Print archive'.
  Learn more about custom DSP classes: https://ax.docentric.com/d365-how-to-manuals/d365-docentric-ssrs-reports/d365-ssrs-report-docentric-replicas/d365-why-to-use-docentric-ssrs-replicas/

- Free text invoice (FreeTextInvoice.Report):
  >> The DocFreeTextInvoiceReportDSP class now supports the 3.4.8 version feature 'Saving proforma reports in Print archive', by inheriting from the DocDataSourceProviderSrsProforma class instead of DocDataSourceProviderSrsReporting ('Default DSP class' in Docentric report setup).
  >> A new parameter 'IsProforma' is added to the report DDSP > Parameters as a boolean field.

- Cheque (Cheque_US.Report, Cheque_CA.Report):
  >> (BUG) When redirecting printing from SSRS Screen to Docentric Screen (i.e. when at least one of the 'For preview use Docentric design and/or viewer' options is turned on in Docentric report setup), the Print archive and PDF/A settings weren't cleared.
  >> (3.4.8.1) The refactored method DocSrsPrintReportSettings.parmAllowPrintArchiveForProforma() -> DocSrsPrintReportSettings.parmSaveProformaToArchive() is now used in the preRunModifyContract() extension method of the CheckController extension class (CheckController_DR_Extension).

- (BUG) Fixed an issue where the 'IsProforma' parameter was not set correctly in the 'Project invoice with billing rules' report (PSAContractLineInvoice.Report).
  
- (BUG) Fixed the issue caused by a Microsoft change that converts the following SSRS reports from non-preprocessed into preprocessed:
  >> Certificate of analysis (InventTestCertOfAnalysis.Report)
  >> Job card report (ProdJobCard.Report)
  >> Picking list report (ProdPickList.Report)
  >> Route card report (ProdRouteCard.Report)
  >> Bill of lading (WMSBillOfLading.Report)
  The issue is fixed by changing each replica's DSP class to invoke the getReportDataTableContext() method, which directly returns the report data source temporary table, regardless of whether the report is preprocessed or not.
  Affected DSP classes: DocInventTestCertOfAnalysisDSP, DocProdJobCardDSP, DocProdPickListDSP, DocProdRouteCardDSP, DocWMSBillOfLadingDSP.


----------------------------------------------------------------------------------------------------
Version 3.4.7 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Warehouse management > Shipment details > Certificate of Origin (TMSCoCCertificateOfOrigin.Report)
  >> Production control: Route jobs report (ProdRouteJob.Report)
  >> Product information management: Bill of materials lines (BOMConsistOf.Report)

- Redesigned reports:
  >> Shipping pick list (WHSPickListShipping.Report)
  >> Project invoice without billing rules (PSAProjInvoice.Report): changed the DSP class, DocPsaProjInvoiceDSP, to include Giro data.
  >> Customer account statement (CustAccountStatementExt.Report)
  >> Load details (WHSLoad.Report)
  >> User defined project invoice (PSAManageInvoice.Report)
  >> Commercial invoice (TMSCommercialInvoice.Report)
  >> Customer aging report (CustAgingReport.DesignWithDetailAndNoTransactionCur, CustAgingReport.DesignWithDetailAndWithTransactionCur, CustAgingReport.DesignWithNoDetailAndNoTransactionCur, CustAgingReport.DesignWithNoDetailAndWithTransactionCur)
  >> Production pick list (WHSPickListProduction.Report)
  >> Sales picking list (WMSPickingList_OrderPick.Report)
NOTE: Changes include layout simplification, added missing labels and data, and binding corrections to align with SSRS designs and improve user experience.

- (BUG) Vendor payment advice (BankPaymAdviceVendV2.Report) and Customer payment advice (BankPaymAdviceCustV2.Report): Fixed a possible document creation error when printing a customized Payment advice report with Docentric installed.
- (BUG) Production picking list (ProdPickList.Report): The DocProdPickListDSP class is looping through all records in the ProdPickListTmp table instead of through only those created in the current user transaction.
- (BUG) (3.4.7.1) In the SSRS pipeline, when the Sales invoice proforma is generated, the SysDocuBrandDetailsRegular table is not populated in the same user transaction as other report tables.
        Also, in the SSRS pipeline, data is copied from all report tables with the current user connection, but the SysDocuBrandDetailsRegular table is skipped.
        To address this inconsistency in the standard, we extended the useExistingReportData(), setTableConnections() and createData() methods of the SalesInvoiceDP class.
- (BUG) (3.4.7.2) Fixed error on trying to print BOMPartOf report, which gave the following message: "Error executing code: BomPartOfDPV2 object does not have method 'updateRecord_DR'.".
        This error was being thrown in the sendData() method of the BOMHierarchyReport_DR_Extension class, where the check for the report being executed was missing.
- (BUG) (3.4.7.2) Changed method for getting report data table context for the InventTransferOrderOverview report since MS has changed the report to be pre-processed starting from the D365FO version 10.0.37.


----------------------------------------------------------------------------------------------------
Version 3.4.6 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Item arrival journal lines (WMSJournalTrans.Report)
  >> Non conformance report (InventNonConformanceTable.Report)  
  >> Sales invoice - Italian (SalesInvoice.Report_IT)
  >> Shipment packing list (TMSPackingList.Report)
  >> USMCA certificate of origin (TMSUsmcaCertificateOfOrigin.Report)

- Redesigned reports:
  >> Customer payment advice (BankPaymAdviceCustV2.Report)
  >> Free text invoice (FreeTextInvoice.Report)
  >> Interest note (CustInterestNote.Report)
  >> Pick list (WHSPickListShipping.Report)  
  >> Product receipt (PurchPackingSlip.Report)
  >> Purchase order (PurchPurchaseOrder.Report)
  >> Receipts list (PurchReceiptsList.Report)
  >> Request for quotation (RFQSend.Report)
  >> Return order/acknowledgment (ReturnAcknowledgmentAndDocument.Report)  
  >> Sales invoice (SalesInvoice.Report)
  >> Sales packing slip (SalesPackingSlip.Report)
  >> Vendor payment advice (BankPaymAdviceVendV2.Report)  
NOTE: Changes include layout simplification, added missing data, and binding correction to align with SSRS designs (version 10.0.32) and improve user experience.

- Added missing translations to existing reports:
  >> Collection letter note (CustCollectionJour.Report)
  >> Customer payment advice (BankPaymAdviceCustV2.Report)
  >> Free text invoice (FreeTextInvoice.Report)
  >> Interest note (CustInterestNote.Report)
  >> Pick list (WHSPickListShipping.Report)
  >> Product receipt (PurchPackingSlip.Report)
  >> Project quotation (PSAQuotation.Report)
  >> Purchase order (PurchPurchaseOrder.Report)
  >> Receipts list (PurchReceiptsList.Report)
  >> Request for quotation (RFQSend.Report)
  >> Return order/acknowledgment (ReturnAcknowledgmentAndDocument.Report)
  >> Sales invoice (SalesInvoice.Report)
  >> Sales order confirmation (SalesConfirm.Report)
  >> Sales packing slip (SalesPackingSlip.Report)
  >> Sales quotation (SalesQuotation.Report)
  >> Sales quotation confirmation (SalesQuotationConfirmation.Report)
  >> Vendor payment advice (BankPaymAdviceVendV2.Report)

- (BUG) Project invoice with billing rules (PSAContractLineInvoice) report: Instead of setting ProjProposalJour as the journal record, changed to ProjInvoiceJour.
- (BUG) Fixed document generation error when printing Pick list (WHSPickListShipping.Report) caused by floating object on design.
- (BUG) Sales invoice (SalesInvoice.Report): The filling of the ShowPrepaidTotals flag value in the DocSalesInvoiceReportDSP class has been fixed. This issue affected the visibility of the "Depreciation of prepayments" and "Prepaid" table. After this fix, the tables will display accurately.
- (BUG) (3.4.6.2) Deprecated reports: Vendor payment advice (BankPaymAdviceVend.Report) and Customer payment advice (BankPaymAdviceCust.Report)
  >> All artifacts related to these deprecated reports (Word templates, DDSP classes, Docentric extensions of standard classes) have been removed as compiling these artifacts in version 10.0.35 
     results in an error rather than a warning as before this version. Microsoft replaced these two reports and their associated classes some time ago with version 2 (BankPaymAdviceVendV2.Report
     and BankPaymAdviceCustV2.Report) and made them mandatory with version 10.0.35. The old reports can no longer be used.
- (BUG) (3.4.6.2) Vendor payment advice (BankPaymAdviceVendV2.Report) and Customer payment advice (BankPaymAdviceCustV2.Report): Fixed a possible document creation error when printing a custom payment advice report with Docentric installed.


----------------------------------------------------------------------------------------------------
Version 3.4.5 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Counting list (InventCountingList.Report)  
  >> Inventory journal lines - Counting (InventJournalTrans.Report)
  >> Shipping container receipts list (ITMContainerReceipts.AutoDesign)

- Added missing translations to the existing reports:
  >> Ledger transaction list (LedgerTransListAccount.Report)
  >> Sales invoice (SalesInvoice.Report)

- Purchase order report (PurchPurchaseOrder.Report):
  >> Added additional fields to the MainData data section (PurchOrderHeader): PO Requester name (RequesterName) and email (RequesterEmail).
  >> Added new Custom placeholders: Requester name (@RequesterName@) and Requester email (@RequesterEmail@).

- (BUG) Certificate of Analysis (InventTestCertOfAnalysis) report: Fixed bug introduced with 3.4.4 version, where the reshaped datasource resulted in empty records.

- (BUG) Route card (ProdRouteCard) report: Added support for multiple line details records per one line.

- (BUG) Payment advice V2 reports for customer and vendor (BankPaymAdviceCustV2, BankPaymAdviceVendV2):
  >> Execution context is now initialized correctly, fixing the issue with customers/vendors getting the wrong reports. As of version 10.0.27, the execution context mechanism was introduced for the Payment advice V2 reports, which caused problems when saving print dialog values, which was disabled by default, but enabled in our extension.


----------------------------------------------------------------------------------------------------
Version 3.4.4 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Tax 1099 forms: 1099-DIV, 1099-INT, 1099-MISC, 1099-OID, 1099-G, 1099-S, 1099-NEC (Tax1099Report with these 7 designs)
  >> Cost estimates and costings (ProdCalcTrans.Report)
  >> Dimension statement (LedgerTransStatement.Report)

- Cheque report:
  >> Added new Docentric templates for overflow checks. Learn how to design overflow checks: https://ax.docentric.com/designing-overflow-checks-in-d365fo/

- Added the SalesAdministratorName field to the report header data record in DDSP for the following reports:
  >> SalesQuotation (Sales quotation)
  >> SalesQuotationConfirmation (Sales quotation confirmation)

- Added the Original/Copy information* to the Parameters data section of DDSP for the following reports:
  >> PurchPurchaseOrder
  >> PurchPackingSlip
  >> PurchReceiptsList
  >> VendInvoiceDocument
  >> SalesConfirm
  >> SalesPackingSlip
  >> SalesQuotation
  >> SalesQuotationConfirmation
  >> PSAProjInvoice
  >> PSAManageInvoice 
  >> PSAContractLineInvoice
* The new field is called "PrintMgmtOriginalCopy" and contains the information whether Copy or Original is printed.
NOTE: SalesInvoice and FreeTextInvoice already contain this info.

- Added the CompanyAddressTranslatedCountry* field to the report header data record of DDSP for the following reports:
  >> SalesInvoice
  >> SalesConfirm
  >> SalesPackingSlip
  >> FreeTextInvoice
  >> CustCollectionJour
  >> CustInterestNote
* The CompanyAddressTranslatedCountry field contains company address with the country translated in the report runtime language.

- Prepared-to-be-added the InventoryDimensions* data records containing all belonging Inventory dimension fields to DDSP for the following reports:
  >> SalesInvoice (Customer invoice), DSP class: DocSalesInvoiceReportDSP
  >> SalesConfirm (Sales order confirmation), DSP class: DocSalesConfirmDSP
  >> PurchPurchaseOrder (Purchase order), DSP class: DocPurchPurchaseOrderReportDSP
* The InventoryDimensions data records are added as child records for each report line that contains the InventDimPrint data field.
NOTE: Adding the InventoryDimensions records is prepared in the commented code. 

- Customer account statement (CustAccountStatementExt) report:
  >> The main() method is added to the DocCustAccountStatementExtReportDSP class to enable quick generation of DDSP for a sample CustTable record.
  >> Two sample methods are added to the DocCustAccountStatementExtReportDSP class to demonstrate how to generate a report in memory using a Docentric template and an SSRS report design.
  >> Fixed MS bug: The CustAccountStatementExtContract.parmUsePrintManagement() parameter is not considered when set to false and a non-default SSRS report design is used for printing the report from code.

- Added helper utilities:
  >> DocInventDimHelper class: Calculates the Inventory dimensions fields using the InventDim and InventReportDimHistory tables for sales and purchase reports.
     NOTE: This class can be used to "unpack" the InventDimPrint field from the report data sources into data records with Inventory dimension fields, which enables more flexible template design.
  >> DocDspHelper.addPrintMgmtOriginalCopyField() method: Adds the Original/Copy print information to the provided data record (DocXmlRecord).

- (BUG) Bug fixes related to Blind shipment:
  >> SalesReport (Customer invoice): added the missing data field ShipCarrierBlindShipment (Blind shipment) of type boolean to the SalesInvoiceHeader data record in the DocSalesInvoiceReportDSP class.
  >> SalesPackingSlip (Sales packing slip): fixed the template to use the ShipCarrierBlindShipment flag correctly.

- (BUG) Bug fixes for Docentric templates:
  >> WHSPickListShipping (Shipping pick list): Added missing header and line notes.
  >> VendInvoiceDocument (Vendor invoice): Added missing grouping by InventDimPrint for each report line.

- (BUG) (3.4.4.2) The Sales invoice report covered both default and localization invoice data and designs, which causes unpredictable behavior when loading reports in Docentric report setup for the first time. The localization invoice template is now skipped when (re)loading System templates in Docentric report setup.
  >> Instructions on how to handle localization invoices for the #isoEE, #isoLT, #isoHU, #isoLV, #isoCZ, #isoPL regions:
  If you need to use localization data from the SalesInvoiceLocalizationTmp table, please register the needed localization SSRS report design (e.g. SalesInvoice.ReportPL) in Docentric report setup and use the localization DSP class (DocSalesInvoiceReportLocalizationDSP) and Docentric localization template (SalesInvoice.Report_Localization.docx), which are part of the Docentric AX SSRS Replicas model but not reloaded as other System templates by default.

- (BUG) (3.4.4.2) CustInterestNote (Interest note) report: When populating Custom placeholders such as Customer Account ID and Customer Name with values from the RDP table records (CustInterestNoteTmp) in the onSelectedRdpTableRecord() method, the records which contain Tax data are now skipped.


----------------------------------------------------------------------------------------------------
Version 3.4.3 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Production pick list (WHSPickListProduction.Report)
  >> Certificate of analysis (InventTestCertOfAnalysis.Report)

- Added Custom Fields related to Sales quotation header to DDSP for the following reports:
  >> Sales quotation report (SalesQuotation.Report)
  >> Sales quotation confirmation (SalesQuotationConfirmation.Report)

- New Custom placeholders:
  >> Order account primary email (@OrderAccountPrimaryEmail@) and Order account Invoice purpose email (@OrderAccountInvoicePurposeEmail@) added to the FreeTextInvoice report.

- Added additional data to report data sources:
  >> Customer primary email for Order account to the FreeTextInvoice report.

- Fixed for both BankPaymAdviceCustV2 and BankPaymAdviceVendV2 reports:
  >> Loading the print settings from SysLastValue when the report dialog is shown.
  >> Document counter (important when redirecting Screen to File) for PrintMgmtReportRun.

- Fixed for the CustAgingReport report two Word designs with details (DesignWithDetailAndNoTransactionCur, DesignWithDetailAndWithTransactionCur):
  >> Changed XPath filtering expression for the AccountNumUrl field to take the first element from the list (CustAgingReportTmp/@AccountNumUrl -> CustAgingReportTmp[1]/@AccountNumUrl).

- Added methods to the helper class DocTaxCalculator for calculation of:
  >> Posted sales tax for a journal or a journal line for reports Purchase order, Sales order, Quotation and Quotation confirmation.
  >> Distributed and total tax amounts per journal and journal line are supported.

- (3.4.3.1) Customer account statement (CustAccountStatementExt.Report):
  >> Fixed broken backward compatibility: The protected member (reportTable) of the base reporting DSP class (DocDataSourceProviderReportingBase) was renamed, resulting in the non-compilable DocCustAccountStatementExtReportDSP class if the model is not upgraded to 3.4.3. This change has now been reverted.


----------------------------------------------------------------------------------------------------
Version 3.4.2 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- Customer account statement (CustAccountStatementExt.Report):
  >> DocCustAccountStatementExtReportDSP class: Added support for Document branding.

- Customer invoice (SalesReport.Report):
  >> DocSalesInvoiceReportDSP class: Fixed the logic in the sil_addMainLines() method that checks whether the current SalesInvoiceTmp record contains transaction-related data.
  >> (3.4.2.1) Fixed bug: proforma reports are printed with empty lines. The bug is fixed by changing Delete Action from Cascade to None for all relations on the SalesInvoiceTmp.Extension_DR table extension, including the relation to CustInvoiceTrans table, which was causing the bug.


----------------------------------------------------------------------------------------------------
Version 3.4.1 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Job card report (ProdJobCard.Report)
  >> Transfer overview (InventTransferOrderOverview.Report)

- Customer invoice (SalesReport.Report):
  >> Supported feature: (Italy) Sales invoice lines sorting per packing slips.
  >> Supported feature: (Italy) Tax invoice for goods delivered for free.

- Customer account statement (CustAccountStatementExt.Report):
  >> Docentric template: Fixed condition to show CreditLimit and CreditAvailable data fields when the PrintCreditLimit parameter is turned on.

- Purchase order (PurchPurchaseOrder.Report):
  >> Docentric template: Fixed visibility for the PurchPrice, DiscAmount, DiscPercent, LineAmount fields - they are now hidden if the 'Purchase order prices/amount' option is turned on.

- Collection letter note (CustCollectionJour.Report):
  >> Added the JourTransRecId_DR field to the CustCollectionJourTmp table and populated with CustCollectionLetterTrans.RecId to enable adding additional fields from the related tables in the report DSP class.

- Added helper class DocTaxCalculator for calculation of:
  >> Posted sales tax for a journal or a journal line - supported for all reports except Purchase order, Sales order, Quotation and Quotation confirmation.
  >> Proforma sales tax for a journal of a journal line - supported for Free text invoice and Sales invoice.
  >> Distributed and total tax amounts per journal and journal line are supported.


----------------------------------------------------------------------------------------------------
Version 3.4.0 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Project invoice with billing rules (PSAContractLineInvoice.Report)
  >> Vendor payment advice (BankPaymAdviceVendV2.Report)
  >> Customer payment advice (BankPaymAdviceCustV2.Report)

- All reports:
  >> Updated DSP classes to be ready for Docentric NextGen.

- In order to fully support saving reports to SharePoint with metadata fields using Custom placeholders, the following DSP classes are updated:
  >> DocPurchPurchaseOrderReportDSP (PurchPurchaseOrder.Report)
  >> DocPurchPackingSlipDSP (PurchPackingSlip.Report)
  >> DocPurchReceiptsListDSP (PurchReceiptsList.Report)
  >> DocReturnAcknowledgmentAndDocumentDSP (ReturnAcknowledgmentAndDocument.Report)

- Sales quotation report (SalesQuotation.Report):
  >> The main() method is added to the DocSalesQuotationDSP class to enable quick generation of DDSP for a sample journal record.

- (BUG) Route card report (ProdRouteCard):
  >> The DocProdRouteCardDSP class: fixed reshaping of the report data source.

- (BUG) Load tender (TMSLoadTender):
  >> The DocTMSLoadTenderDSP class: fixed populating custom labels.
  >> Fixed template to correctly show multiple loads grouped by sales order.


----------------------------------------------------------------------------------------------------
Version 3.3.9 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> Work report (WHSWork.Report)
  >> Route (TMSRoute.Report)
  >> Load tender (TMSLoadTender.Report)

- Added Extension Fields to DDSP for the following reports:
  >> SalesInvoice
  >> FreeTextInvoice
  >> PSAProjInvoice
  >> PSAManageInvoice*
  >> TMSCommercialInvoice*
  >> TMSCertificateOfOrigin*
  >> SalesConfirm
  >> SalesPackingSlip
  >> PurchPurchaseOrder
  >> PurchPackingSlip
  >> PurchReceiptsList
  >> VendInvoiceDocument*
  >> SalesQuotation
  >> SalesQuotationConfirmation
  >> PSAQuotations
  >> CustAccountStatementExt*
  >> CustCollectionJour*
  >> CustInterestNote*
  >> ProdPickList*
  >> ProdRouteCard*
  >> ReturnAcknowledgmentAndDocument*
  >> RFQSend*
  >> WMSPickingList_OrderPick*
  >> WMSBillOfLading
* For single-table reports which are reshaped into Header and Lines, Extension fields are added to both Header and Lines.
NOTE: For all other reports, which are not listed here, Extension fields are added to DDSP automatically.

- Added additional fields:
  >> WHSPickListShipping (Shipping pick list): Customer requisition (from Sales order) added to the report header, and Requested ship date (from Sales order line) to the report lines.
  >> CustAccountStatementExt (Customer Account Statement): RecId of the related CustTrans record added to the report lines.
  >> RFQSend (Request for quotation): Added Vendor primary email and Custom Fields related to Vendor.
  >> SalesInvoice (Customer invoice): Added Giro data with Swiss QR code.

- Added Custom Fields related to Shipment, Load and Customer to DDSP for the following reports:
  >> TMSCommercialInvoice (Commercial invoice)
  >> TMSCertificateOfOrigin (NAFTA certificate of origin)

- Added the DefaultDimension field (named as FinancialDimensions) from the corresponding journals to DDSP for the following reports using their DSP classes:
  >> SalesInvoice
  >> FreeTextInvoice
  >> SalesConfirm
  >> SalesPackingSlip
  >> PSAProjInvoice     
  >> PSAManageInvoice
  >> CustCollectionJour
  >> VendInvoiceDocument
  >> PurchPurchaseOrder*
  >> PurchPackingSlip*
  >> PurchReceiptsList*
* The new node is named POFinancialDimensions, because there is no the DefaultDimension field in the corresponding journal. 
NOTE: Financial dimensions are added to report headers only.

- Cheque report:
  >> (BUG) DocCheckDSP class: Fixed bug for Custom placeholders - their values were empty.
  >> Introduced a new helper class DocCustVendChequeSlipTextCalculator, which is able to add an additional column Voucher to standard cheque slip text (used in CustVendCheque.output()).

- (BUG) Bill of lading (WHSBillOfLading):
  >> DSP class DocWHSBillOfLadingDSP is enabled to support both Regular and PreProcessingTempDB version of the standard DP class WhsBillOfLadingDP.

- (BUG) For particular reports, Custom placeholders are always provided as text values formatted using the current-user language instead of the report runtime language. This bug is fixed for the following reports:
  >> Production Picking List (DSP class: DocProdPickListDSP)
  >> Production order report (DSP class: DocProdReportDSP)
  >> Production Route Card (DSP class: DocProdRouteCardDSP)
  >> WHS Pick list shipping (DSP class: DocWHSPickListShippingDSP)

- Sales invoice report and Free text invoice:
  >> Preparation for Docentric NextGen.
  >> Renamed data record SalesInvoicePaymentStubTmp to SalesInvoicePaymentStub.


----------------------------------------------------------------------------------------------------
Version 3.3.8 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- Project quotation (PSAQuotations.Report) - fixed the Docentric template:
  >> Changed the label of the last column from Net amount to Extended price - the label did not match the content of the column
  >> Replaced the content of the column Sales subtotal amount with the content of the column Net amount and vise versa in the table at the end of the template - the content of the both columns did not match the column labels

- New reports:
  >> Load list (WHSLoadList.Report)
  >> Canadian check (Cheque_CA.Report)

- Added extensions:
  >> Extension of the RetailLabelController class, which changes the built-in behavior of Product and Shelf labels reports which are always printed to SSRS File print destination (as PDF files). With this extension, when printing Product or Shelf labels, the Print destination settings form will be shown, so you will able to change the target print destination to, e.g. Docentric Screen or Generated DS print destination.

- New Custom placeholders:
  >> Collection letter currency (@Currency@), Open balance due (@BalanceDue@), Fee (@CollLetterFee@) and Total open balance including the fee (@Total@) added to the CustCollectionJour report.
  >> Vendor Reference (@VendRef@) and Customer Requisition (@CustReq@) added to the PurchPurchaseOrder report.
  >> Customer Requisition (@CustReq@) added to the SalesInvoice report.
  >> Customer Requisition (@CustReq@) added to the SalesQuotation report.

- Added Custom Fields related to Customer/Vendor and Sales/Purchase order (when applicable) to DDSP for the following reports:
  >> BankPaymAdviceCust
  >> BankPaymAdviceVend
  >> CustAccountStatementExt
  >> CustCollectionJour
  >> CustInterestNote
  >> FreeTextInvoice
  >> PSAProjInvoice
  >> PSAManageInvoice
  >> PurchPackingSlip
  >> PurchPurchaseOrder
  >> PurchReceiptsList
  >> SalesConfirm
  >> SalesInvoice
  >> SalesPackingSlip
  >> VendInvoiceDocument

- Common:
  >> Extended scope of all placeholders to all (print destination) fields except for images and (multiline) addresses.
  >> Some common code for filling placeholder values moved to a new class DocDspHelper.
  >> Fixed built-in behaviour: SSRS Printer is always selected as the target print destination when generating payments using Cheques.
  >> Fixed bug for the SalesQuotation and SalesQuotationConfirmation reports where the Sales Quotation table wasn't resolved correctly if its ID had one or more hyphens.

- For the following reports, the main() method is added to DSP classes to enable quick generation of DDSP for a sample journal record:
  >> PSAProjInvoice
  >> PurchPurchaseOrder
  >> PurchPackingSlip
  >> PurchReceiptsList
  >> SalesInvoice
  >> SalesPackingSlip
  >> SalesConfirm
  >> FreeTextInvoice


----------------------------------------------------------------------------------------------------
Version 3.3.7 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- New reports:
  >> NAFTA Certificate of origin (TMSCertificateOfOrigin.Report)
  >> Return order / Return acknowledgment (ReturnAcknowledgmentAndDocument.Report)

- New Custom placeholders:
  >> Project email (@ProjEmail@) added to the project related reports: PSAProjInvoice, PAManageInvoice and PSAQuotations.
  >> Purchase order email (@PurchOrderEmail@) and Vendor contact email (@VendContactEmail@) added to the VendInvoiceDocument report.

- Added additional data to report data sources:
  >> Customer/Vendor primary email and Sales/Purchase order email added to reports: PurchPackingSlip, PurchPurchaseOrderReport, PurchReceiptsList, SalesConfirm, SalesInvoice, SalesPackingSlip.
  >> Customer/Vendor primary email and Project email added to reports: PSAProjInvoice, PAManageInvoice and PSAQuotations.


----------------------------------------------------------------------------------------------------
Version 3.3.6 Change Log
----------------------------------------------------------------------------------------------------

*****************************
    NEW FEATURES & FIXES 
*****************************
- Route Card Report (ProdRouteCard) report:
  >> (BUG) Fixed the Docentric template to properly show the route card line details if there are any.
  >> (BUG) Fixed the source value for all barcode fields in the template to show proper data when the barcodes are scanned.

- Sales packing slip (SalesPackingSlip) and Purchase packing slip (PurchPackingSlip) reports:
  >> (BUG) Fixed the helper methods custPackingSlipJour()/vendPackingSlipJour() and custPackingSlipVersion()/vendPackingSlipVersion() to take into account the reportContract.parmTableId() value when selecting the journal and journal version records.

- PSA Project invoice (PSAProjInvoice) report:
  >> The line field TransDate, which does not get populated in the SSRS data provider class PSAProjInvoiceDP, is populated in the DocPSAProjInvoiceDSP class with the proper value.

- Giro report:
  >> Skip printing the standard (SSRS) Giro payment attachment after an invoice (e.g. Free text invoice and other invoice reports) is printed. To use it within the Docentric template for Free text invoice, which includes the Giro report on the last page, please uncomment the outputReport() method in the GiroPrintMgmtFormLetterController_DR_Extension class.
